"use strict";
/*
 * @Author: quit
 * @Date: 2023-03-11 13:33:06
 * @LastEditTime: 2023-03-12 15:47:15
 * @Descripttion:
 * TS类中 修饰符有3种
 * 1. public 公有(所有)默认;在TS里成员都默认为public ,也可以明确的将一个成员标记为 public
 * 2. protected 保护; 如果成员被protected标记,则运行在派生类中进行使用
 * 3. private 私有; 除在声明的类中使用,不允许在外部使用
 * @notice:
 */
Object.defineProperty(exports, "__esModule", { value: true });
// class Animal {
//     public color: string = 'grey';
//     public moive() {
//         console.log('公有方法');
//     }
// }
// let v1: Animal = new Animal();
// console.log(v1.color, v1.moive);
// class Animal {
//     protected color: string = 'grey';
//     public moive() {
//         console.log(this.color);
//         console.log('公有方法');
//     }
//     ect() {
//         console.log(this.color);
//     }
// }
// let v1: Animal = new Animal();
// // console.log(v1.color); // protected 只能在派生类或者声明类中使用,实例无法使用。
// console.log(v1.moive());
// class Dog extends Animal {
//     constructor() {
//         super();
//         console.log(this.color);
//         console.log(this.ect);
//     }
// }
// let v2: Dog = new Dog();
class Animal {
    constructor() {
        this.color = 'grey';
    }
    moive() {
        console.log('公有方法');
    }
    ect() {
        console.log(this.color);
        this.moive();
    }
}
class Dog extends Animal {
    constructor() {
        super();
        // console.log(this.color);
        console.log(this.ect());
    }
}
let v3 = new Animal();
v3.ect();
